<?php
@session_start();
header("Content-Type: text/html;charset=utf-8");

include_once '../db_conecta_adodb.inc.php';
include_once '../function.inc.php';
include_once '../paginador.php';
include("../lang/es.php");
$languaje='es';


$action=$_GET['action'];
$return = array('html' => '',
				'msg' => '',
				'type' => '');

switch ($action){
	case "verificarUsuario":
		$usuario=$_GET['usuario'];
		$password=$_GET['password'];
		if (strlen($usuario)==0 || $password=='bbdab92c86816e0386d85cd6d44b124b'){
			$return = array('html' => "<script>$( '#usuario' ).focus();</script>",
							 'msg' => 'El usuario y/o contrase&ntilde;a no son v&aacute;lidos',
							 'type' => 'a');
			break;
		}

		//$db->debug=true;
		$rs = sql("SELECT ID_USER,CHR_NAME,INT_NEW_PASS FROM `u172676809_fcac`.`T_USERS` WHERE CHR_USER_NAME=? AND CHR_PASSWORD=?",array($usuario,$password));
		//var_dump($rs);
		if($rs->fields==0){
			$return = array('html' => "<script>$( '#usuario' ).focus();</script>",
							 'msg' => 'El usuario y/o contrase&ntilde;a no son v&aacute;lidos',
							 'type' => 'a');
			break;
		}
		$reg=siguiente($rs);
		$id_user=$reg->ID_USER;
		$name=$reg->CHR_NAME;
		$reiniciar=$reg->INT_NEW_PASS;

		if ($reiniciar==1){
			$return = array('html' => "<script>$('#form').load('./cambiar_clave.php?usuario=".$usuario."');$( '#newpass' ).focus();</script>",
							 'msg' => '',
							 'type' => '');
			break;
		}

		$_SESSION['id_user']=$id_user;
		$_SESSION['user_name']=$name;

		//gardo datos de sesion
		sql("UPDATE u172676809_fcac.T_USERS SET DT_LAST_ACCESS=sysdate() WHERE ID_USER=?",array($id_user));

		$return = array('html' => "<script>$(location).attr('href','./index.php');",
						'msg' => '',
						'type' => '');
		
		break;

	case 'cambiarClave':
		$newpass=$_GET['newpass'];
		$confirmpass=$_GET['confirmpass'];
		$usuario=$_GET['user'];

		//Verifico que el usuario exista y que requiera un cambio de contraseña
		$rs=sql("SELECT COUNT(*) as EXISTE FROM u172676809_fcac.T_USERS WHERE CHR_USER_NAME=? AND INT_NEW_PASS=?",array($usuario,1));
		$row=siguiente($rs);
		if ($row->EXISTE==0){
			$return = array('html' => "$(location).attr('href','./login.php').delay(1000);",
						'msg' => 'El usuario no requiere cambio de contraseña',
						'type' => 'e');
			break;
		}

		if (strlen($newpass)==0 || $newpass=='bbdab92c86816e0386d85cd6d44b124b' || strlen($confirmpass)==0 || $confirmpass=='bbdab92c86816e0386d85cd6d44b124b'){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar contrase&ntilde;as v&aacute;lidas',
							 'type' => 'a');
			break;
		}

		if ($newpass != $confirmpass){
			$return = array('html' => "",
							 'msg' => 'Las contrase&ntilde;as no coinciden',
							 'type' => 'a');
			break;
		}

		sql("UPDATE u172676809_fcac.T_USERS SET CHR_PASSWORD=?, INT_NEW_PASS=? WHERE CHR_USER_NAME=?",array($newpass,0,$usuario));

		$return = array('html' => "<script>$(location).attr('href','./index.php').delay(5000);</script>",
							 'msg' => 'La contrase&ntilde;a ha sido actualizada con &eacute;xito',
							 'type' => 'o');

		$rs=sql("SELECT ID_USER FROM u172676809_fcac.T_USERS WHERE CHR_USER_NAME=?",array($usuario));
		$row=siguiente($rs);
		$id_user=$rs->ID_USER;

		$_SESSION['id_user']=$id_user;
		$_SESSION['user_name']=$name;

		break;

	case "getParamGrales":
		$rs = sql("SELECT CHR_PARAMETER,CHR_VALUE FROM `u172676809_fcac`.`T_PARAMETERS`","");
		if($rs->fields==0){
			$return = array('html' => "",
							 'msg' => 'Se produjo un error al consultar la Base de Datos',
							 'type' => 'e');
			break;
		}
		
		while ($parameters=siguiente($rs)){
			switch ($parameters->CHR_PARAMETER){
				case 'MIN_OCUP':
					$min_ocup=$parameters->CHR_VALUE;
					break;
				case 'MAX_OCUP':
					$max_ocup=$parameters->CHR_VALUE;
					break;
				case 'MONTO_ACT_PRECIO':
					$monto_act_precio=$parameters->CHR_VALUE;
					break;
				case 'BASE_PRECIO_OCUPACION':
					$base_precio_ocupacion=$parameters->CHR_VALUE;
					break;
				case 'INCREM_COTIZ_OFICIAL':
					$increm_cotiz_oficial=$parameters->CHR_VALUE;
					break;
				case 'IVA':
					$iva=$parameters->CHR_VALUE;
					break;
				case 'HORAS_VENC_RESERVA':
					$horas_venc_reserva=$parameters->CHR_VALUE;
					break;
				case 'TELEFONO_1':
					$telefono_1=$parameters->CHR_VALUE;
				case 'TELEFONO_2':
					$telefono_2=$parameters->CHR_VALUE;
				case 'PORC_MIN_DEPOSITO':
					$porc_min_deposito=$parameters->CHR_VALUE;
				case 'NO_REEMBOLSABLE':
					$no_reembolsable=$parameters->CHR_VALUE;
				default:
					break;
			}
		}
		if ($no_reembolsable==1)
			$checked='true';
		else
			$checked='false';

		$return = array('html' => "<script>$('#inpMinOcup').val('".$min_ocup."');$('#inpMaxOcup').val('".$max_ocup."');$('#inpMontoActPrecio').val('".$monto_act_precio."');$('#inpBasePrecioOcup').val('".$base_precio_ocupacion."');$('#inpIncrCotizOficial').val('".$increm_cotiz_oficial."');$('#inpIVA').val('".$iva."');$('#inpHorasVencReserva').val('".$horas_venc_reserva."');$('#inpTelefono1').val('".$telefono_1."');$('#inpTelefono2').val('".$telefono_2."');$('#inpPorcDeposito').val('".$porc_min_deposito."');$('#inpDepositoReembolsable').prop('checked', ".$checked.");</script>",
						'msg' => '',
						'type' => '');		


		break;

	case 'setParamGrales':
		$min_ocup=$_GET['inpMinOcup'];
		$max_ocup=$_GET['inpMaxOcup'];
		$monto_act_precio=$_GET['inpMontoActPrecio'];
		$base_precio_ocupacion=$_GET['inpBasePrecioOcup'];
		$increm_cotiz_oficial=$_GET['inpIncrCotizOficial'];
		$iva=$_GET['inpIVA'];
		$horas_venc_reserva=$_GET['inpHorasVencReserva'];
		$telefono_1=$_GET['inpTelefono1'];
		$telefono_2=$_GET['inpTelefono2'];
		$porc_min_deposito=$_GET['inpPorcDeposito'];
		$reembolsable=$_GET['reembolsable'];

		//Ocupación Mínima
		if ($min_ocup==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar la Ocupaci&oacute;n M&iacute;nima',
							 'type' => 'e');
			break;
		}
		if (!validNumField($min_ocup) || strlen($min_ocup)>1){
			$return = array('html' => "",
							 'msg' => 'La Ocupaci&oacute;n M&iacute;nima debe ser num&eacute;rico de 1 caracter como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//Ocupacion Maxima
		if ($max_ocup==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar la Ocupaci&oacute;n M&aacute;xima',
							 'type' => 'e');
			break;
		}
		if (!validNumField($max_ocup) || strlen($max_ocup)>2){
			$return = array('html' => "",
							 'msg' => 'La Ocupaci&oacute;n M&aacute;xima debe ser num&eacute;rico de 2 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//monto de actualizacion del precio
		if ($monto_act_precio==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el Monto de Actualizaci&oacute;n de Precio',
							 'type' => 'e');
			break;
		}
		if (!validNumField($monto_act_precio) || strlen($monto_act_precio)>2){
			$return = array('html' => "",
							 'msg' => 'El Monto de Actualizaci&oacute;n de Precio debe ser num&eacute;rico de 2 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		// Base Calculo Precio
		if ($base_precio_ocupacion==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar la Base de C&aacute;lculo del Precio',
							 'type' => 'e');
			break;
		}
		if (!validNumField($base_precio_ocupacion) || strlen($base_precio_ocupacion)>2){
			$return = array('html' => "",
							 'msg' => 'La Base de C&aacute;lculo del Precio debe ser num&eacute;rico de 2 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//incremento cotizacion oficial
		if ($increm_cotiz_oficial==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el Incremento a la Cotizaci&oacute;n Oficial',
							 'type' => 'e');
			break;
		}
		if (!validFloatField($increm_cotiz_oficial,2,2)){
			$return = array('html' => "",
							 'msg' => 'El Incremento a la Cotizaci&oacute;n Oficial debe ser ser Decimal de 2 caracteres enteros y 2 caracteres decimales como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//IVA
		if ($iva==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el valor porcentual del I.V.A.',
							 'type' => 'e');
			break;
		}
		if (!validFloatField($iva,2,2)){
			$return = array('html' => "",
							 'msg' => 'El valor porcentual del I.V.A. debe ser ser Decimal de 2 caracteres enteros y 2 caracteres decimales como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//Horas Vencimiento Reserva
		if ($horas_venc_reserva==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar la Cantidad de Horas de Vencimiento de Reservas',
							 'type' => 'e');
			break;
		}
		if (!validNumField($horas_venc_reserva) || strlen($horas_venc_reserva)>3){
			$return = array('html' => "",
							 'msg' => 'La Cantidad de Horas de Vencimiento de Reservas debe ser num&eacute;rico de 3 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//Teléfono 1
		if ($telefono_1==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el Tel&eacute;fono 1',
							 'type' => 'e');
			break;
		}
		if (strlen($telefono_1)>25){
			$return = array('html' => "",
							 'msg' => 'El Tel&eacute;fono 1 debe tener 25 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//Telefono 2
		if ($telefono_2==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el Tel&eacute;fono 2',
							 'type' => 'e');
			break;
		}
		if (strlen($telefono_2)>25){
			$return = array('html' => "",
							 'msg' => 'El Tel&eacute;fono 2 debe tener 25 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}
		//Porcentaje Minimo Deposito
		if ($porc_min_deposito==''){
			$return = array('html' => "",
							 'msg' => 'Debe ingresar el Porcentaje M&iacute;nimo de Dep&oacute;sito',
							 'type' => 'e');
			break;
		}
		if (!validNumField($porc_min_deposito) || strlen($porc_min_deposito)>2){
			$return = array('html' => "",
							 'msg' => 'El Porcentaje M&iacute;nimo de Dep&oacute;sito debe ser num&eacute;rico de 2 caracteres como m&aacute;ximo',
							 'type' => 'a');
			break;
		}


		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($min_ocup,'MIN_OCUP'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($max_ocup,'MAX_OCUP'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($monto_act_precio,'MONTO_ACT_PRECIO'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($base_precio_ocupacion,'BASE_PRECIO_OCUPACION'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($increm_cotiz_oficial,'INCREM_COTIZ_OFICIAL'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($iva,'IVA'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($horas_venc_reserva,'HORAS_VENC_RESERVA'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($telefono_1,'TELEFONO_1'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($telefono_2,'TELEFONO_2'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($porc_min_deposito,'PORC_MIN_DEPOSITO'));
		$rs = sql("UPDATE `u172676809_fcac`.`T_PARAMETERS` SET CHR_VALUE=? WHERE CHR_PARAMETER=?",array($reembolsable,'NO_REEMBOLSABLE'));

		$return = array('html' => "",
							 'msg' => 'Los Par&aacute;metros Generales se actualizaron correctamente',
							 'type' => 'o');
		break;

	case 'setNuevoPeriodo':
		$id=$_GET['id'];
		$desde=$_GET['desde'];
		$hasta=$_GET['hasta'];
		$precio=$_GET['precio'];

		if ($desde == '' || $hasta == '' || $precio == ''){
			$return = array('html' => "",
						'msg' => 'La Fecha Desde, Fecha Hasta y el Precio son datos obligatorios',
						'type' => 'e');
			break;
		}

		if (!validFloatField($precio,3,2) || $precio=='0'){
			$return = array('html' => "",
						'msg' => 'El Precio debe ser num&eacute;rico mayor a 0 de 3 caracteres enteros y 2 caracteres decimales como m&aacute;ximo',
						'type' => 'e');
			break;
		}

		$desde=dateFromPickToDB($desde,'es');
		$hasta=dateFromPickToDB($hasta,'es');

		if (date($desde) < date('Y-m-d') || date($hasta) < date('Y-m-d')){
			/*var_dump(date($desde));
			var_dump(date($hasta));
			var_dump(date('d/m/Y'));*/
			$return = array('html' => "",
						'msg' => 'No se pueden registar ni modificar per&iacute;odos cuyas fechas sean anteriores a la fecha actual',
						'type' => 'a');
			break;
		}

		if (date($desde) > date($hasta)){
			$return = array('html' => "",
						'msg' => 'La fecha Desde no puede ser mayor a la fecha Hasta',
						'type' => 'e');
			break;
		}

		//Modifico los periodos e inserto
		if (!updPricePeriod($desde,$hasta,$precio,0)){
			$return = array('html' => "",
						'msg' => 'Se produjo un error al actualizar los per&iacute;odos. Intente nuevamente',
						'type' => 'a');
			break;
		}
		
		$return = array('html' => "",
						'msg' => '¡El Per&iacute;odo se ha registrado con &eacute;xito!',
						'type' => 'o');
		break;

	case 'updPeriodoPrecio':
		$id=$_GET['id_modal'];
		$desde=$_GET['start'];
		$hasta=$_GET['end'];
		$precio=$_GET['price'];

		if ($desde == '' || $hasta == '' || $precio == ''){
			$return = array('html' => "",
						'msg' => 'La Fecha Desde, Fecha Hasta y el Precio son datos obligatorios',
						'type' => 'e');
			break;
		}

		if (!validFloatField($precio,3,2) || $precio=='0'){
			$return = array('html' => "",
						'msg' => 'El Precio debe ser num&eacute;rico mayor a 0 de 3 caracteres enteros y 2 caracteres decimales como m&aacute;ximo',
						'type' => 'e');
			break;
		}

		$desde=dateFromPickToDB($desde,'es');
		$hasta=dateFromPickToDB($hasta,'es');

		if (date($desde) < date('Y-m-d') || date($hasta) < date('Y-m-d')){
			/*var_dump(date($desde));
			var_dump(date($hasta));
			var_dump(date('d/m/Y'));*/
			$return = array('html' => "",
						'msg' => 'Los Nuevos Per&iacute;odos deben ser para fechas posteriores a la Fecha Actual',
						'type' => 'a');
			break;
		}

		if (date($desde) > date($hasta)){
			$return = array('html' => "",
						'msg' => 'La fecha Desde no puede ser mayor a la fecha Hasta',
						'type' => 'a');
			break;
		}

		//Modifico los periodos e inserto
		if (!updPricePeriod($desde,$hasta,$precio,0)){
			$return = array('html' => "",
						'msg' => 'Se produjo un error al actualizar los per&iacute;odos. Intente nuevamente',
						'type' => 'a');
			break;
		}

		$return = array('html' => "",
						'msg' => '¡El Per&iacute;odo se ha registrado con &eacute;xito!',
						'type' => 'o');
		break;

	case 'anularPeriodo':
		$desde=$_GET['an_desde'];
		$hasta=$_GET['an_hasta'];

		if ($desde == '' || $hasta == ''){
			$return = array('html' => "",
						'msg' => 'La Fecha Desde y Fecha Hasta son datos obligatorios',
						'type' => 'e');
			break;
		}

		$desde=dateFromPickToDB($desde,'es');
		$hasta=dateFromPickToDB($hasta,'es');

		if (date($desde) < date('Y-m-d') || date($hasta) < date('Y-m-d')){
			$return = array('html' => "",
						'msg' => 'Solo pueden anularse per&iacute;odos de fechas posteriores a la Fecha Actual',
						'type' => 'a');
			break;
		}

		if (date($desde) > date($hasta)){
			$return = array('html' => "",
						'msg' => 'La fecha Desde no puede ser mayor a la fecha Hasta',
						'type' => 'a');
			break;
		}

		//anulo periodos
		$fechaInicio=strtotime($desde);
		$fechaFin=strtotime($hasta);
		for($i=$fechaInicio; $i<=$fechaFin; $i+=86400){
			$rs=sql("SELECT COUNT(*) AS EXISTE FROM u172676809_fcac.T_CANCEL_DAYS WHERE DT_DATE=STR_TO_DATE(?,'%Y-%m-%d')",array(date("Y-m-d", $i)));
			$row=siguiente($rs);
			if ($row->EXISTE==0){
				sql("INSERT INTO u172676809_fcac.T_CANCEL_DAYS (DT_DATE) VALUES (STR_TO_DATE(?,'%Y-%m-%d'))",array(date("Y-m-d", $i)));
			} 
		}
		
		$return = array('html' => "",
						'msg' => '¡El Per&iacute;odo ha sido anulado con &eacute;xito!',
						'type' => 'o');
		break;

	case 'marcar_novedad':
		$id=$_GET['id'];
		$read=$_GET['read'];

		if ($read==0)
			$read=1;
		else
			$read=0;

		sql("UPDATE u172676809_fcac.T_SYS_NEWS SET INT_READ=? WHERE ID_SYS_NEWS=?",array($read,$id));

		$return = array('html' => "<script>reload()</script>",
						'msg' => '',
						'type' => '');
		break;

	case 'setObservacion':
		$observaciones=$_GET['inp-observaciones'];
		$id=$_GET['id'];

		if ($observaciones == ''){
			$return = array('html' => "",
						'msg' => 'Debe ingresar la Observaci&oacute;n',
						'type' => 'a');
			break;
		}

		sql("UPDATE u172676809_fcac.T_BOOKS SET CHR_COMMENTS=? WHERE INT_ID_BOOK=?",array($observaciones,$id));
		$return = array('html' => "",
						'msg' => 'La Observaci&oacute;n se registr&oacute; con &eacute;xito',
						'type' => 'o');
		break;

}
echo json_encode($return);
exit;